﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using WebTin.Models;
namespace WebTin.Controllers
{
    public class KhacController : Controller
    {
        
        //
        // GET: /Khac/
        WebDataDataContext db = new WebDataDataContext();
       
        public ActionResult Index()
        { 
            var ds = (from c in db.BaiViets select c).ToList();
            try
            {
                foreach (var c in ds)
                {
                    if (c.ChuDe.TenChuDe != "Khác...") ds.Remove(c);
                }
                
            }
            catch {  }
            return View(ds);
        }
        public ActionResult Details(string id)
        {
            BaiViet bv = new BaiViet();

            bv = db.BaiViets.SingleOrDefault(c => c.MaBaiViet == id);
            return View();
        }

        //
        // GET: /ChuDe/Create
        // Tương đương: themchude.php
        public ActionResult Create()
        {
            return View();
        }

        //
        // POST: /ChuDe/Create
        // Tương đương: themchude_xuly.php
        [HttpPost]
        public ActionResult Create(FormCollection collection)
        {
            // Lấy thông tin từ FORM
            string TenBV = collection["TenBaiViet"].Trim();
            string TenCD = "Khác...";
            string NoiDung = collection["NoiDung"].Trim();
            string tomtat = collection["TomTat"].Trim();
            string tacgia = collection["TacGia"].Trim();
            string MaCD = "";
            foreach (ChuDe cd in db.ChuDes)
            {
                if (cd.TenChuDe == TenCD) { MaCD = cd.MaChuDe; break; }
            }

            try
            {
                // TODO: Add insert logic here
                BaiViet bv = new BaiViet();
                bv.MaBaiViet = TenBV[0] + DateTime.Now.Day.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Year.ToString() + new Random().Next(1, 9).ToString();
                bv.TenBaiViet = TenBV;
                bv.NoiDung = NoiDung;
                bv.NgayDang = DateTime.Now;
                bv.MaChuDe = MaCD;
                bv.TacGia = tacgia;
                bv.TomTat = tomtat;
                db.BaiViets.InsertOnSubmit(bv);
                db.SubmitChanges();

                // Chuyển hướng về danh sách
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

        //
        // GET: /ChuDe/Edit/5
        // Tương đương: suachude.php?id=5
        public ActionResult Edit(string id)
        {
            BaiViet bv = new BaiViet();

            bv = db.BaiViets.SingleOrDefault(c => c.MaBaiViet == id);

            return View(bv);
        }

        //
        // POST: /ChuDe/Edit/5
        // Tương đương: suachude_xuly.php
        [HttpPost]
        public ActionResult Edit(string id, FormCollection collection)
        {
            // Lấy thông tin từ FROM
            string TenBV = collection["TenChuDe"].Trim();

            try
            {
                BaiViet bv = new BaiViet();

                bv = db.BaiViets.SingleOrDefault(c => c.MaBaiViet == id);

                // Cập nhật lại tên mới
                bv.TenBaiViet = TenBV;

                // Xác nhận sửa
                db.SubmitChanges();

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

        //
        // GET: /ChuDe/Delete/5
        // Tương đương: xacnhanxoachude.php?id=5
        public ActionResult Delete(string id)
        {
            BaiViet bv = new BaiViet();

            bv = db.BaiViets.SingleOrDefault(c => c.MaBaiViet == id);

            return View(bv);
        }

        //
        // POST: /ChuDe/Delete/5
        // Tương đương: xoachude.php
        [HttpPost]
        public ActionResult Delete(string id, FormCollection collection)
        {
            try
            {
                // TODO: Add delete logic here
                BaiViet bv = new BaiViet();

                bv = db.BaiViets.SingleOrDefault(c => c.MaBaiViet == id);

                // Xóa
                db.BaiViets.DeleteOnSubmit(bv);

                // Xác nhận
                db.SubmitChanges();

                // Chuyển hướng về danh sách
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
    }
}
